Skip to content

v1.5.0#92

Merged
kingRayhan merged 8 commits intomainfrom
kingrayhan/fix
Apr 1, 2026
Merged

v1.5.0#92
kingRayhan merged 8 commits intomainfrom
kingrayhan/fix

Conversation

@kingRayhan
Copy link
Copy Markdown
Member

@kingRayhan kingRayhan commented Apr 1, 2026

v1.5.0 — 2026-04-01

✨ Features

  • feat: enhance NavbarActions with dropdown menu for creating new entries (eb652b2)
  • feat: add unpublished article notice and draft byline support (4528d1a)
  • feat: enhance profile page with additional user information and improved article loading states (2458ad7)
  • feat: improve user profile experience with enhanced data display and loading states (3dedc30)
  • feat: enhance user profile with additional fields and improved loading states (2db6598)
  • feat: improve user avatar handling and display in LatestUsers component (ea1fe57)

🔧 Other Changes

  • refactor: update theme handling and improve layout structure (524ebc4)

Summary by CodeRabbit

  • New Features

    • Skills display on user profiles.
    • Unpublished article notices with draft byline indication.
    • Dropdown menu for creating diary or gist entries.
    • Enhanced user article feed with error and empty state handling.
    • Theme preference persistence across sessions.
  • Documentation

    • Added GitHub issue creation and resolution workflow guides.
  • Improvements

    • Improved avatar handling and display.
    • Better article loading state management on profile pages.

- Replaced the direct button for creating a new diary with a dropdown menu that includes options for creating both a new diary and a new gist.
- Added translations for "Create", "New diary", and "New gist" in Bengali language support.
- Integrated UnpublishedArticleNotice component to display a notice for unpublished articles.
- Added ArticleDraftBylineLabel for drafts, enhancing user awareness of article status.
- Updated Bengali translations for unpublished articles and related messages to improve localization.
- Removed the `next-themes` dependency and replaced it with a custom theme provider for better control over theme preferences.
- Enhanced the `CommonProviders` component to support initial theme settings and migration from local storage.
- Updated the `RootLayout` to include a theme initialization script and improved suspense handling for child components.
- Refactored the `ThemeSwitcher` to utilize the new theme provider, ensuring consistent theme management across the application.
…ved article loading states

- Expanded user profile data retrieval to include bio, designation, website URL, education, location, social links, skills, and verification status.
- Updated ProfilePageAside component to display user skills.
- Improved article loading experience in UserArticleFeed with error handling and empty state messaging.
- Added Bengali translations for new article-related messages to enhance localization.
…loading states

- Added additional user information fields to the profile page, including bio, designation, and social links.
- Enhanced article loading states in UserArticleFeed with better error handling and messaging.
- Updated translations for new profile-related content to support Bengali localization.
…g states

- Added new fields to the user profile, including bio, designation, and social links.
- Improved loading states in UserArticleFeed with enhanced error handling and messaging.
- Updated translations for new profile-related content to support Bengali localization.
- Added a placeholder for user avatars when profile photos are not available.
- Enhanced the UserItem component to conditionally render user information and ensure proper handling of undefined user data.
- Updated the avatar image source logic for better reliability and user experience.
- Updated CHANGELOG.md to document new features including enhancements to NavbarActions, user profiles, and article handling.
- Bumped version number in package.json to 1.5.0.
- Added support for unpublished article notices and improved user avatar handling.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 1, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a02adb6e-b89c-4238-b9eb-a3395c2f4e62

📥 Commits

Reviewing files that changed from the base of the PR and between 6558192 and 59f4734.

📒 Files selected for processing (21)
  • .agents/skills/github-issue-create/SKILL.md
  • .agents/skills/github-issue-resolve/SKILL.md
  • CHANGELOG.md
  • package.json
  • src/app/[username]/(profile-page)/_components/ProfilePageAside.tsx
  • src/app/[username]/(profile-page)/articles/UserArticleFeed.tsx
  • src/app/[username]/(profile-page)/articles/page.tsx
  • src/app/[username]/(profile-page)/layout.tsx
  • src/app/[username]/[articleHandle]/_components/UnpublishedArticleNotice.tsx
  • src/app/[username]/[articleHandle]/page.tsx
  • src/app/layout.tsx
  • src/backend/services/theme.actions.ts
  • src/components/Navbar/NavbarActions.tsx
  • src/components/Navbar/ThemeSwitcher.tsx
  • src/components/providers/CommonProviders.tsx
  • src/components/providers/root-providers.tsx
  • src/components/providers/theme-provider.tsx
  • src/components/widgets/LatestUsers.tsx
  • src/i18n/bn.json
  • src/lib/theme-cookie.ts
  • src/lib/theme-init-script.ts

📝 Walkthrough

Walkthrough

This PR introduces GitHub issue management skills, version bumps to 1.5.0, removes next-themes dependency, replaces it with a custom theme provider system featuring cookie-based persistence and server-side initialization, enhances profile pages with skills display, adds unpublished article notices with role-specific messaging, improves article feed loading/error states, converts the create button to a dropdown menu, and expands internationalization support across new features.

Changes

Cohort / File(s) Summary
Skills Documentation
.agents/skills/github-issue-create/SKILL.md, .agents/skills/github-issue-resolve/SKILL.md
New skill definitions for GitHub issue creation and resolution workflows via gh CLI with detailed prerequisites and usage guidance.
Version & Changelog
package.json, CHANGELOG.md
Bumped version to 1.5.0, removed next-themes dependency, documented new features including profile enhancements and theme refactor.
Theme System Refactor
src/lib/theme-cookie.ts, src/lib/theme-init-script.ts, src/backend/services/theme.actions.ts, src/components/providers/theme-provider.tsx, src/components/providers/root-providers.tsx, src/components/providers/CommonProviders.tsx, src/components/Navbar/ThemeSwitcher.tsx, src/app/layout.tsx
Migrated from next-themes to custom theme provider with server-side cookie initialization, client-side theme resolution, localStorage migration, system dark-mode detection, and theme persistence via server action.
Profile Page Enhancements
src/app/[username]/(profile-page)/_components/ProfilePageAside.tsx, src/app/[username]/(profile-page)/layout.tsx
Added skills display in profile aside; expanded user field fetching to include bio, designation, website, education, location, and verification status.
Article Feed & Display
src/app/[username]/(profile-page)/articles/UserArticleFeed.tsx, src/app/[username]/(profile-page)/articles/page.tsx, src/app/[username]/[articleHandle]/_components/UnpublishedArticleNotice.tsx, src/app/[username]/[articleHandle]/page.tsx
Added unpublished/draft article notice component with author/viewer-specific messaging, improved article feed with error handling, empty states, and loading indicators; conditional draft vs. published time display.
Navigation & UI
src/components/Navbar/NavbarActions.tsx, src/components/widgets/LatestUsers.tsx
Replaced single "New diary" button with dropdown menu supporting multiple create actions; improved avatar handling in latest users with placeholder fallbacks.
Internationalization
src/i18n/bn.json
Added Bengali translations for create menu, unpublished articles, article access states, and article feed status messages.

Sequence Diagram(s)

sequenceDiagram
    participant Browser
    participant RootLayout
    participant RootProviders
    participant ThemeProvider
    participant DOM
    
    Browser->>RootLayout: Initial page load
    RootLayout->>RootLayout: Execute THEME_INIT_SCRIPT<br/>(before interactive)
    RootLayout->>RootLayout: Check for theme cookie<br/>Migrate from localStorage if needed
    RootLayout->>DOM: Set data-theme & colorScheme
    
    RootLayout->>RootProviders: Render with Suspense
    RootProviders->>RootProviders: Read theme cookie
    RootProviders->>RootProviders: Parse theme preference
    RootProviders->>ThemeProvider: Pass initialTheme & migrate flag
    
    ThemeProvider->>ThemeProvider: Initialize theme state
    ThemeProvider->>ThemeProvider: Subscribe to system<br/>dark-mode changes (if "system")
    ThemeProvider->>DOM: Apply resolved theme
    
    Browser->>ThemeProvider: User toggles theme
    ThemeProvider->>ThemeProvider: Update theme state
    ThemeProvider->>RootLayout: Call setThemePreference<br/>(server action)
    RootLayout->>DOM: Set cookie
    ThemeProvider->>DOM: Update data-theme & colorScheme
Loading
sequenceDiagram
    participant User
    participant ArticlePage
    participant UnpublishedNotice
    participant SessionProvider
    participant DOM
    
    User->>ArticlePage: Navigate to article
    ArticlePage->>ArticlePage: Fetch article data
    
    alt Article is published (publishedAt exists)
        ArticlePage->>UnpublishedNotice: Render with publishedAt
        UnpublishedNotice->>DOM: Return null (hidden)
        ArticlePage->>DOM: Render published time
    else Article is unpublished (publishedAt is null)
        ArticlePage->>UnpublishedNotice: Render with publishedAt=null
        UnpublishedNotice->>SessionProvider: Check current user session
        
        alt User is article author
            UnpublishedNotice->>DOM: Show "Draft" alert<br/>with author-specific message
        else User is viewer
            UnpublishedNotice->>DOM: Show "Draft" alert<br/>with viewer-specific message
        end
        
        ArticlePage->>DOM: Render ArticleDraftBylineLabel<br/>(instead of time)
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

🐰 Unpublished drafts now wear their crown,
Theme cookies dance throughout the town,
Skills on profiles and dropdowns anew,
Articles load with states fresh and true! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch kingrayhan/fix

Comment @coderabbitai help to get the list of available commands and usage tips.

@kingRayhan kingRayhan merged commit 65017c8 into main Apr 1, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant